Now that the autotools build folded the GDK/GSK bits into the main GTK+
DLL, there are some updates that need to be done for this. We need to:
-Fold the DllMain() of GDK-Win32 into the main GTK+ DllMain(), as we need
the HINSTANCE to register the window. We can't have two DllMain()'s in a
single DLL.
-Remove the GDK rc(.in) files, as that is not used anymore. Make the GTK+
.rc(.in) file load the gtk.ico GTK+ logo file instead so that we still
get the GTK+ logo for the application icon by default. Update the
autotools build files as well.
-Revert commit
b9f9980 as LRN pointed out in comment 25 in bug 773299, as
GTK+ is now a monolithic DLL, and we ought not to export this private
function.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
if USE_WIN32
libgdk_4_la_LIBADD += win32/libgdk-win32.la
-libgdk_4_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o
-libgdk_4_la_LDFLAGS += -Wl,win32/rc/gdk-win32-res.o
endif # USE_WIN32
if USE_BROADWAY
{ NULL }
};
-BOOL WINAPI
-DllMain (HINSTANCE hinstDLL,
- DWORD dwReason,
- LPVOID reserved)
-{
- _gdk_dll_hinstance = hinstDLL;
-
- return TRUE;
-}
-
void
_gdk_win32_windowing_init (void)
{
include $(top_srcdir)/Makefile.decl
-EXTRA_DIST += \
- gdk.rc \
- gdk.rc.in \
- gtk.ico
-
-if USE_WIN32
-noinst_DATA = gdk-win32-res.o
-endif
-
-gdk-win32-res.o : gdk.rc gtk.ico
- $(WINDRES) -I $(srcdir) gdk.rc $@
+EXTRA_DIST += gtk.ico
-include $(top_srcdir)/git.mk
+++ /dev/null
-#include <winver.h>
-
-GTK_ICON ICON "gtk.ico"
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
- PRODUCTVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
- FILEFLAGSMASK 0
- FILEFLAGS 0
- FILEOS VOS__WINDOWS32
- FILETYPE VFT_DLL
- FILESUBTYPE VFT2_UNKNOWN
- BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904B0"
- BEGIN
- VALUE "CompanyName", "The GTK developer community"
- VALUE "FileDescription", "GIMP Drawing Kit"
- VALUE "FileVersion", "@GTK_VERSION@.0"
- VALUE "InternalName", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@"
- VALUE "LegalCopyright", "Copyright © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald. Modified by the GTK+ Team and others 1997-2011."
- VALUE "OriginalFilename", "libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll"
- VALUE "ProductName", "GTK+"
- VALUE "ProductVersion", "@GTK_VERSION@"
- END
- END
- BLOCK "VarFileInfo"
- BEGIN
- VALUE "Translation", 0x409, 1200
- END
- END
void gsk_render_node_make_immutable (GskRenderNode *node);
-_GDK_EXTERN
void gsk_render_node_get_bounds (GskRenderNode *node,
graphene_rect_t *frame);
void gsk_render_node_get_transform (GskRenderNode *node,
gtk_win32_res = gtk-win32-res.o
gtk_win32_res_ldflag = -Wl,gtk-win32-res.o
-gtk-win32-res.o : gtk-win32.rc libgtk4.manifest
- $(WINDRES) gtk-win32.rc $@
+gtk-win32-res.o : $(top_srcdir)/gdk/win32/rc/gtk.ico gtk-win32.rc libgtk4.manifest
+ $(WINDRES) -I $(top_srcdir)/gdk/win32/rc gtk-win32.rc $@
gtk-win32.rc: gtk-win32.rc.body
echo "#include <winuser.h>" >>$@
#include <winver.h>
+GTK_ICON ICON "gtk.ico"
+
VS_VERSION_INFO VERSIONINFO
FILEVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
PRODUCTVERSION @GTK_MAJOR_VERSION@,@GTK_MINOR_VERSION@,@GTK_MICRO_VERSION@,0
#define EMPIRIC_MANIFEST_RESOURCE_INDEX 2
-static HMODULE gtk_dll;
+static HMODULE gtk_dll;
+extern HINSTANCE _gdk_dll_hinstance;
BOOL WINAPI
DllMain (HINSTANCE hinstDLL,
{
case DLL_PROCESS_ATTACH:
gtk_dll = (HMODULE) hinstDLL;
+ _gdk_dll_hinstance = hinstDLL;
break;
}